package com.itfenghuang.day02;

import java.util.Arrays;
import java.util.Scanner;

public class A05_控制结构 {
    public static void main(String[] args) {
//        1. 接受控制台输入的数据
        Scanner sc = new Scanner(System.in);

//        int num= sc.nextInt();  // 可以在控制台接受一个整数
//        System.out.println(num);

//        2. 接受字符串 字符串用双引号""
//        String str="泥猴啊,靓仔";
//        String str1= sc.nextLine();
//        System.out.println("这是从控制台接受的内容"+str);

//        int sum=0;
//        for(int i=0;i<101;i++){
//            sum=sum+i;
//        }
//        System.out.println(sum);

//        3.练习
//        1. 输入一个日期, 判断这个日期是平年 还是润年
//          int sum=2021;
//          if ( (sum %4==0 && sum %100!=0) ||  (sum%400==0)){
//              System.out.println("闰年");
//          }else{
//              System.out.println("平年");
//          }
//        2. 找出2000到5000年中所有的闰年
//            for (int i=2000;i<5001;i++){
//                if ( (i %4==0 && i %100!=0) ||  (i%400==0)){
//                    System.out.println(i);
//                }
//            }
//        3. 找出100-999中所有的水仙花数
//        for (int i = 100; i < 1000; i++) {
//            int f1 = (int) i % 10;
//            int f2 = (int) (i / 10) % 10;
//            int f3 = (int) (i / 100);
//            double a = (int) Math.pow(f1, 3);
//            double b = (int) Math.pow(f2, 3);
//            double c = (int) Math.pow(f3, 3);
//            if (a + b + c == i) {
//                System.out.println(i);
//            }
//        }
//        4. 猜数字游戏
        //获取一个数字 ,通过Random的获取
        //随机数
//        Random arr = new Random();
//        int num = arr.nextInt(20);
        //控制台
//        Scanner sc = new Scanner(System.in);
//        for (int i = 0; i < 5; i++) {
//            System.out.println("请输入");
//            double v =sc .nextDouble();
//            if (v>num){
//                System.out.println("大");
//            }else if (v<num){
//                System.out.println("小");
//            }else if (v==num){
//                System.out.println("等于");
//                break;
//            }else{
//                System.out.println("下次一定");
//            }
//            System.out.println(num);
//        }
//        5. 猜拳游戏
//        Scanner f = new Scanner(System.in);
//        Random i = new Random();
//        int ff = i.nextInt(3);
//        for (int j = 0; j <5 ; j++) {
//            System.out.println("请输入");
//            double v = f.nextDouble();
//            if (v==1 && ff==2
//                    || v==2 && ff==3
//                    || v==3 && ff==1){
//                System.out.println("赢");
//                break;
//            }else if (v==ff){
//                System.out.println("平局");
//                break;
//            }else{
//                System.out.println("输");
//                break;
//            }
//        }

//        6. 求1-100累加求和
//        int sum=0;
//        for(int i=1;i<101;i++){
//            sum=sum+i;
//        }
//        System.out.println(sum);

//        7. 求10-100中所有的质数, 并且统计个数
//        8. 鸡兔同笼问:一个笼子, 里面 30个头  88只脚问 鸡多少只 兔多少只
//        9. 假设一张纸厚一毫米,  对折多少次可以超过珠穆朗玛峰  8848
//        10.摸球问题:  一个袋子里有 5个红球   8个白球   黑球6个  总共摸出9个球
//        红球不少于2个   白球不多于2个  问有多少种组合
//        11. 在页面使用 * 打印 直角三角形
//        12. 在页面打印出 99乘法表
//        13. 在页面使用 * 打印出 等腰三角形
//        14. 随机点名程序
//        15. 将名字中带王字的同学修改成老王
//        var stus = ["张三", "李四","王五","赵六","孙七","王八","小明"]
//
//        16. 删除名字中带王的同学
//        17. 交换 李四和 赵六的位置
//        18. 冒泡排序
            int[] arr={5,2,1,6,3};
            getSum(arr);
        System.out.println();
//        19. 选择排序
        int[] arr1={4,2,7,6,3};
        for (int h = 0; h < arr1.length; h++) {
            int num=h;
            for (int i = h+1; i < arr1.length; i++) {
                if (arr1[num]>arr1[i]){
                    num=i;
                }
            }
            int temp=arr1[h];
            arr1[h]=arr1[num];
            arr1[num]=temp;
        }
        for (int b = 0; b <arr1.length; b++) {
            System.out.print(arr1[b]);
        }
//
//        20. 插入排序
        //底层使用的是插入排序
        int[] arr2={5,2,1,6};
        Arrays.sort(arr2);
        System.out.println(Arrays.toString(arr2));
    }
    //冒泡排序
    public static void getSum(int[] arr){
        for (int j = 0; j < arr.length-1; j++) {
            for (int i = 0; i <arr.length-1-j; i++) {
                if (arr[i]>arr[i+1]){
                    int i1 = arr[i];
                    arr[i]=arr[i+1];
                    arr[i+1]=i1;
                }
            }
        }
        for (int h = 0; h <arr.length ; h++) {
            System.out.print(arr[h]);
        }
    }
 }

